#ifndef retrospec_game_car
#define retrospec_game_car

enum CarDirection {CAR_STRAIGHT,CAR_LEFT,CAR_RIGHT};
enum CarMovement {CAR_FREEWHEELING,CAR_ACCELERATE,CAR_DECELERATE};
class Car
{
public:
	static const int MAXVEL=10;
	Car() {	
			angle=screenx=screeny=angle=0;
			acc=vel=decel=xdistancemoved=ydistancemoved=mapx=mapy=0.0;
			car=NULL;
	}
	~Car();
	void SetupCar();
	bool NextMove();
	AXL_Projects::Animation* car;
	int screenx,screeny;		//position to draw on the screen
	float mapx, mapy;			//real position in map
	int angle;
	float xdistancemoved,ydistancemoved;		//position moved
	CarMovement Move;
	CarDirection Direction;
private:
	void Accelerate();
	void Decelerate();
	void TurnRight();
	void TurnLeft();
public:
	float acc;
	float vel;
	float decel;
};

#endif
